/**
 * 项目名称:
 *
 * @Author: 夏国倩
 * @Date: 2023/9/20 14:28
 * @Copyright
 */
package Collection;
import java.util.ArrayList;
import java.util.List;
/*
泛型的通配符
 */
public class Collection4 {
    public static void main(String[] args) {
        /*
        泛型通配符：? 、 ? extends Car、? super   Car
         */
        List<BMW> bmws=new ArrayList<BMW>();
        bmws.add(new BMW());
        bmws.add(new BMW());
        bmws.add(new BMW());
        go(bmws);

        List<BenZ> benzs=new ArrayList<BenZ>();
        benzs.add(new BenZ());
        benzs.add(new BenZ());
        benzs.add(new BenZ());
        go(benzs);

        List<Dog> dogs=new ArrayList<Dog>();
        dogs.add(new Dog());
        dogs.add(new Dog());
        dogs.add(new Dog());
       // go(dogs);
    }
    /*
    所有汽车要一起参加比赛
    泛型的限定，本案例，父类Car，子类可以无限
    ? extends Car 限制的是父类，上限限定，可以传递Car，传递他的子类对象
    ? super   Car 限制的是子类，下限限定，可以传递Car，传递他的父类对象
     */
    public static void go(List<? extends Car> bmws){
        //bmws.add(" ");
        //bmws.add(99);
    }
}
class Dog{}
class Car{}
class BMW extends Car{

}
class BenZ extends Car{

}
